"""
创建一个通信录 每个联系人 姓名作为键 电话号码 家庭住址 作为值
1、添加联系人
2、查看通讯录
3、删除联系人
4、修改联系人
5、查找联系人
6、退出
"""
# 定义一个字典 用于存储联系人信息
d = {}
with open("通讯录.txt","r",encoding="utf-8") as f:
    content = f.read()
    # 切行 用回车切行
    content = content.split("\n")
    # 用逗号切行内部的内容
    # print(content)
    for c in content:
        if c!='':
            item = c.split(",")
            # print(item)
            d[item[0]] = [item[1],item[2]]
while True:
    print("""
    通讯录
    1、添加联系人
    2、查看通讯录
    3、删除联系人
    4、修改联系人
    5、查找联系人
    6、退出
    """)
    code = int(input("请输入操作码："))
    if code == 1:
        name = input("请输入姓名：")
        phone_number = input("请输入电话号码：")
        addr = input("请输入家庭住址：")
        if name not in d:
            d[name] = [phone_number, addr]
            print("添加联系人成功")
            input("按任意键进行......")
        else:
            print("该联系人已经存在，请重新输入")
            input("按任意键进行......")
    elif code == 2:
        for k, v in d.items():
            print(f"姓名：{k},电话号码：{v[0]},家庭住址：{v[1]}")
        input("按任意键进行......")
    elif code == 3:
        name = input("请输入要删除联系人的姓名：")
        if name in d:
            d.pop(name)
            print("删除成功")
        else:
            print("要删除的联系人不存在")
        input("按任意键进行......")
    elif code == 4:
        old_name = input("请输入要修改联系人的姓名：")
        if old_name in d:
            new_name = input("请输入要修改联系人的新名字：")
            if new_name not in d:
                new_phone = input("请输入新的手机号：")
                new_addr = input("请输入新的家庭住址：")
                # 先把旧的删除
                d.pop(old_name)
                # 再加入新信息
                d[new_name] = [new_phone, new_addr]
            else:
                print("新的联系人姓名已存在")
        else:
            print("不存在该联系人")
        input("按任意键进行......")
    elif code == 5:
        name = input("请输入要查询联系人的姓名：")
        if name in d:
            print(f"姓名：{name},电话号码：{d[name][0]},家庭住址：{d[name][1]}")
        else:
            print("不存在该联系人")
        input("按任意键进行......")
    elif code == 6:
        # 保存文件
        with open("通讯录.txt","w",encoding="utf-8") as f:
            for k,v in d.items():
                f.write(f"{k},{v[0]},{v[1]}"+"\n")
        print("退出系统")
        break
    else:
        print("输入操作码不正确，请重新输入")
        input("按任意键进行......")
